

package Controlador.stegsecret;

import java.io.*;

public class fichGIF
{

    public fichGIF(String s)
    {
        fichero = null;
        buffer = null;
        try
        {
            nombreFichero = s;
            fichero = new RandomAccessFile(new File(s), "r");
            tamFichero = (int)(new File(s)).length();
        }
        catch(IOException ioexception)
        {
            System.out.println(ioexception);
        }
    }

    public byte isGIF()
    {
        byte byte0 = NOK_GIF;
        try
        {
            fichero.seek(0L);
            buffer = new byte[6];
            fichero.read(buffer, 0, 6);
            if(buffer[0] == 71 && buffer[1] == 73 && buffer[2] == 70 && (buffer[3] == 56 && buffer[4] == 55 && buffer[5] == 97 || buffer[3] == 56 && buffer[4] == 57 && buffer[5] == 97))
            {
                byte0 = OK_GIF_NOK_EOF;
                fichero.seek(tamFichero - 1);
                if(fichero.readByte() == MARCA_EOF_GIF)
                    byte0 = OK_GIF;
            }
        }
        catch(Exception exception)
        {
            byte0 = NOK_GIF;
        }
        return byte0;
    }

    public void cierraFichero()
    {
        try
        {
            fichero.close();
        }
        catch(Exception exception) { }
    }

    public static byte MARCA_EOF_GIF = 59;
    public static byte NOK_GIF = 0;
    public static byte OK_NUMBER_MAGIC = 1;
    public static byte OK_GIF = 2;
    public static byte OK_GIF_NOK_EOF = 3;
    private RandomAccessFile fichero;
    private String nombreFichero;
    private byte buffer[];
    private int tamFichero;

}